#ifndef _BUOLA_MEDIA_FFMPEG_COUTPUTVIDEOSTREAM_H_
#define _BUOLA_MEDIA_FFMPEG_COUTPUTVIDEOSTREAM_H_

#include "ffmpeg.h"

#include <buola/image/format.h>

namespace buola { namespace media { namespace ffmpeg {

class COutputVideoStream
{
public:
    COutputVideoStream(AVFormatContext *pCtx,const std::string &pCodec,const CSize_i &pSize);

    AVPacket *EncodeImage(const img::CImage_rgb8 &pImage);
    
private:
    AVStream *mAV;
    AVFrame *mFrame;
    SwsContext *mConvert;
};

/*namespace ffmpeg*/ } /*namespace media*/ } /*namespace buola*/ }

#endif
